package com.vehicle_information_management_system.service;

<<<<<<< HEAD
=======
import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
>>>>>>> 629a544 (update)
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.vehicle_information_management_system.dto.VehicleCount;
import com.vehicle_information_management_system.dto.VehicleDto;
import com.vehicle_information_management_system.dto.VehicleWithDriver;
import com.vehicle_information_management_system.pojo.DriverInfo;
import com.vehicle_information_management_system.pojo.VehicleInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.data.relational.core.sql.In;

import java.util.List;

/**
* @author huawei
* @description 针对表【vehicle_info】的数据库操作Service
* @createDate 2025-02-16 16:00:52
*/
public interface VehicleInfoService extends IService<VehicleInfo> {
<<<<<<< HEAD

=======
>>>>>>> 629a544 (update)
    IPage<VehicleInfo> selectPage(Integer current, Integer size,String search);

    void add(VehicleInfo vehicleInfo);

    void delete(Integer id);

    void update(VehicleInfo vehicleInfo);

    //获取各个部门的车辆数
    List<VehicleCount> getVehicleInfoByDepartment();

    //获取所有车辆信息
    List<VehicleDto> getVehicleInfo();

    //根据车辆id获取驾驶员
    VehicleWithDriver getVehicleWithDriver(Integer vehicleId);

    //获取各个生产厂家的车辆数
    List<VehicleCount> getVehicleCountByManufacturer();

    //获取车辆总数
    Integer getVehicleCount();

    //获取使用中的车辆数量
    Integer getUseStatusVehicleCount();

    //获取未使用的车辆信息
    List<VehicleDto> getNoUseVehicleInfo();

    void autoReturnVehicle();

}
